Variable I/O interface for portable media device

ABSTRACT

The present invention can include electronic devices having variable input/output interfaces that can allow a user to interact with the devices with greater efficiency and in a more ergonomic manner. An electronic device of the present invention can display icons associated with user-programmable parameters of a media file. By interacting with the icons, a user can change the user-programmable parameters during playback of the media file. Changes to the user-programmable parameters can affect playback of the remainder of the media file. An electronic device of the present invention also can automatically re-orient images shown on a display and re-configure user input components based on the orientation of the electronic device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/865,219, filed Jan. 8, 2018 (now U.S. Pat. No. 10,534,514), which isa continuation of U.S. patent application Ser. No. 14/274,940, filed onMay 12, 2014 (now U.S. Pat. No. 9,864,491), which is a continuation ofU.S. patent application Ser. No. 11/729,291, filed on Mar. 27, 2007 (nowU.S. Pat. No. 8,745,496), which claims priority to U.S. ProvisionalPatent Application No. 60/846,414, filed on Sep. 21, 2006 (referred tobelow as “the incorporated provisional patent application”). Theseearlier application are incorporated herein by reference.

This also is related to:

U.S. Pat. No. 8,956,290, entitled “LIFESTYLE COMPANION SYSTEM,”(referred to herein as “the incorporated LIFESTYLE COMPANION document”),the entirety of which is incorporated herein by reference;

U.S. Pat. No. 8,001,472, entitled “SYSTEMS AND METHODS FOR PROVIDINGAUDIO AND VISUAL CUES VIA A PORTABLE ELECTRONIC DEVICE,” (referred toherein as “the incorporated AUDIO AND VISUAL CUES document”), theentirety of which is incorporated herein by reference;

U.S. Pat. No. 8,235,724, entitled “DYNAMICALLY ADAPTIVE SCHEDULINGSYSTEM,” (referred to herein as “the incorporated ADAPTIVE SCHEDULINGSYSTEM document”), the entirety of which is incorporated herein byreference;

U.S. Pat. No. 8,429,223, entitled “SYSTEMS AND METHODS FOR FACILITATINGGROUP ACTIVITIES,” (referred to herein as “the incorporated GROUPACTIVITIES document”), the entirety of which is incorporated herein byreference;

U.S. Publication No. 2008/0077489, entitled “REWARDS SYSTEMS,” (referredto herein as “the incorporated REWARDS SYSTEMS document”), the entiretyof which is incorporated herein by reference;

U.S. Publication No. 2008/0076972, entitled “INTEGRATED SENSORS FORTRACKING PERFORMANCE METRICS,” (referred to herein as “the incorporatedINTEGRATED SENSORS document”), the entirety of which is incorporatedherein by reference; and

U.S. patent application Ser. No. 11/426,078, to King et al., filed onJun. 23, 2006 (Publication No. 2006/0238517, published on Oct. 26,2006), entitled “Electronic Device Having Display and Surrounding TouchSensitive Bezel for User Interface and Control” (referred to herein as“the incorporated King document”), the entirety of which is incorporatedherein by reference.

The incorporated provisional patent application, LIFESTYLE COMPANIONdocument, AUDIO AND VISUAL CUES document, ADAPTIVE SCHEDULING SYSTEMdocument, GROUP ACTIVITIES document, REWARDS SYSTEMS document,INTEGRATED SENSORS document, and King document collectively are referredto herein as “the incorporated patent documents.”

FIELD OF THE INVENTION

The present invention can relate to variable input/output interfaces forelectronic devices.

BACKGROUND OF THE INVENTION

Currently available portable media devices may provide limited ways bywhich users can interact with the devices. For example, currentlyavailable portable media devices may show images on its display in onlyone orientation with respect to the housing of the media device. When auser places the portable media device in a non-standard orientation, theuser may have to angle his head in order to properly view the displayedimages. Furthermore, when the media device is playing a media file, themedia device may not permit the user to adjust parameters associatedwith the media file. In order to adjust any of the parameters of themedia file, the media device may require the user first to stop playbackof the media file.

SUMMARY OF THE INVENTION

The present invention can include electronic devices that have variableinput/output (I/O) interfaces. The variable I/O interfaces can allow auser to interact with the devices in a more ergonomic manner and withgreater efficiency.

An electronic device of the present invention can display one or moresoftware icons associated with user-programmable parameters of a mediafile during playback of the media file. The electronic device can permita user to select a user-programmable parameter of the media file byselecting a corresponding icon. While the selected icon is visuallydistinguished, the electronic device can permit the user to adjust theselected user-programmable parameter. The electronic device can changethe software icons it displays to reflect different user-programmableparameters associated with different modules of the media file or withdifferent media files.

An electronic device of the present invention also can automaticallyre-orient an image shown on its display and/or re-configure user inputcomponents based on the orientation of the electronic device. The userinput components can include hardware or software input components.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other advantages of the present invention will be apparentupon consideration of the following detailed description, taken inconjunction with accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1 illustrates one embodiment of an electronic device of the presentinvention in communication with a network of servers;

FIGS. 2A-2B illustrate a media file in accordance with one embodiment ofthe present invention;

FIGS. 3A-3B illustrate an electronic device that permits a user toadjust user-programmable parameters of a media file during playback ofthe media file in accordance with one embodiment of the presentinvention;

FIGS. 4A-4B illustrate a process for use by the electronic device ofFIGS. 3A-3B in accordance with one embodiment of the present invention;

FIGS. 5A-5I illustrate electronic devices that can automaticallyre-orient an image shown on its display based on the orientation of thedevice in accordance with one embodiment of the present invention;

FIGS. 6A-6B illustrate an electronic device that can automaticallyre-orient an image shown on its display and re-configure user inputcomponents based on the orientation of the device in accordance with oneembodiment of the present invention;

FIGS. 6C-6D illustrate an electronic device that can automaticallyre-orient an image shown on its display based on the orientation of thedevice and permit a user to manually re-configure a user input componentin accordance with one embodiment of the present invention;

FIGS. 7A-7E illustrate electronic devices that can automaticallyre-orient an image shown on its display and re-configure user inputcomponents based on the orientation of the device in accordance with oneembodiment of the present invention; and

FIG. 8 illustrates a process for use by an electronic device of oneembodiment of the present invention to re-orient an image shown on adisplay and re-configure a user input component based on the orientationof the device.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates one embodiment of an electronic device of the presentinvention in communication with a network of servers. Electronic device10 can include housing 12, display 14, user input component 16,controller 18, memory 20, and orientation transducer 22. In oneembodiment of the present invention, electronic device 10 can be aportable media device similar to that sold under the trademark iPod™ byApple Computer, Inc. of Cupertino, Calif.

User input component 16 can include a clickwheel similar to thatincorporated in the iPod™. The clickwheel can include one or morebuttons and a touchpad. The touchpad may permit a user to scroll byrunning the user's finger around the track of the clickwheel. Inalternative embodiments, user input component 16 can include, forexample, one or more buttons, a touchpad, a touchscreen display,electronics for accepting voice commands, antennas for accepting signalsfrom other electronic devices, infrared ports for accepting signals fromother electronic devices, or any combination thereof. Controller 18 caninclude one or more processors, ASICs, circuits, or any combinationthereof. Memory 20 can include read only memory, random access memory,solid-state memory, buffer memory, hard drive memory, any other memoryknown in the art or otherwise, or any combination thereof.

In accordance with one aspect of the present invention, a user can useportable media device 10, local server 24 (e.g., a user's personalcomputer), or central server 26 (e.g., a server that hosts a website) todesign or compile a program of activities for the user to perform or foranother user to perform. The program of activities can includeinstructions and other audio and/or visual information. The instructionsand other audio/visual information can be stored in a media file, whichthe user can play back on, e.g., electronic device 10. For example, theincorporated patent documents describe in greater detail programs ofactivities (e.g., compilations of fitness activities, nutritionalactivities, and/or medical activities) that a user can compile, e.g., ona local or central server and playback on electronic device 10.

If the user compiles the program of activities on local server 24 orcentral server 26, the local or central server can transmit the mediafile to portable media device 10 using a cable or a wirelesscommunication protocol known in the art or otherwise. The portable mediadevice can store the media file in memory 20. When the user wishes toperform activities in accordance with the compiled program, controller18 can play back the media file. Electronic device 10 can output audiodata stored in the media file using speakers (not shown) disposed withinportable media device 10 or an accessory coupled thereto. Portable mediadevice 10 can output visual data stored in the media file using display14. Visual data can include text images, still images, and/or videoimages.

In one aspect of the present invention, portable electronic device 10can accept data from sensors S that can capture information about theuser's activities. Sensors S can include sensors used in, for example,pedometers, accelerometers, heart rate monitors, oximeters, GPS trackingdevices, devices that measure temperature, devices that measure heatflux, electrocardiogram devices, devices having activity trackingsensors similar to those described in the incorporated INTEGRATEDSENSORS document, devices having activity tracking sensors similar tothose described in the other incorporated patent documents, or anycombination thereof.

A user can wear sensors S in the user's clothing or accessories.Alternatively, sensors S can be disposed within electronic device 10 oranother electronic device utilized by the user. While the user isperforming the activities programmed into the media file, sensors S cantrack the user's performance and electronic device 10 can log data fromsensors S in memory 20. Once the user has completed the scheduledactivities, the user can upload the data that electronic device 10 hascollected about the user's performance into local server 24 and/orcentral server 26. Local server 24 and/or central server 26 then cananalyze that data to adapt the user's goals or otherwise track a user'sprogress, for example, in ways similar to those described in theincorporated patent documents.

FIGS. 2A-2B illustrate a media file in accordance with one embodiment ofthe present invention. Media file 30 can be a compilation of one or moreactivity modules. Each module can store audio and/or visual informationfor one type of activity. When the user is compiling the program ofactivities stored in media file 30, the user may choose the modules theuser wants to include in media file 30 and set global user-programmableparameters associated with media file 30. For example, a globaluser-programmable parameter can include the total amount of time a userhas allocated to perform all the activities associated with media file30. The user also may set module-specific user-programmable parametersassociated with each module the user includes in the media file. Forexample, module 1 can be a fitness module instructing the user to liftweights using barbells. User-programmable parameters associated withmodule 1 can include the song a user wants to hear when exercising tothis module, the number of pounds the user wants to lift per barbell,and the number of repetitions a user wants to perform.

When the user is ready to perform the activities associated with mediafile 30, the user can initiate playback of media file 30 on electronicdevice 10. Electronic device 10 then can begin playing module 1 byoutputting the audio and/or visual information associated therewith.Upon the completion of module 1, the electronic device 10 canautomatically begin playing module 2 by outputting the audio and/orvisual information associated therewith. This process can continue untilelectronic device 10 has played all of the modules.

In accordance with one aspect of the present invention, controller 18can be configured to permit a user to adjust global and/ormodule-specific user-programmable parameters of media file 30 duringplayback of the media file. Controller 18 can display one or more iconson display 14 that correspond to the user-programmable parameters ofmedia file 30. Using user input component 16, the user may select theicon corresponding to the user-programmable parameter he wishes tomodify. Once controller 18 has visually distinguished the selected icon,the user can modify the user-programmable parameter by manipulating userinput component 16.

FIGS. 3A-3B illustrate an electronic device that permits a user toadjust user-programmable parameters of a media file during playback ofthe media file in accordance with one embodiment of the presentinvention. Controller 18 of electronic device 10 can display multipleicons 34-38 on display 14 of electronic device 10. Icons 34-36 cancorrespond to global and/or module-specific user-programmable parametersof media file 30. Icon 38 can correspond to media file-independentparameters of the electronic device associated with playback of themedia file (e.g., volume and/or an equalizer). Controller 18 can permita user to tab through icons 34-38 using user input component 16 until adesired icon is visually distinguished from the other icons (e.g.,highlighted or bolded). Once the desired icon is selected, thecontroller may permit the user to modify parameters associated with theselected icon by manipulating user input 16.

In the illustrative embodiment shown in FIGS. 3A-3B, electronic device10 may be playing a media file that walks a user through a fitnessroutine similar to that discussed in the incorporated patent documents.The user may have programmed the fitness routine with a fitness modulethat instructs the user to lift weights using barbells. As shown in FIG.3A, the user may have initially programmed the module to instruct theuser to perform 15 repetitions of bicep curls using 10 pound barbells.However, during the fitness routine, the user may decide he wants toincrease the number of repetitions to 25. Electronic device 10 canpermit a user to indicate this adjustment by toggling through icons34-38 by manipulating user input 16 (e.g., the buttons of a clickwheel)until the user reaches desired icon 36. Icon 36 can correspond to theuser-programmable parameter associated with the number of repetitionssaved in the media file. As shown in FIG. 3B, once desired icon 36 isvisually distinguished from the other icons (e.g., highlighted),electronic device 10 can permit the user to adjust the number ofrepetitions (e.g., from 15 to 25) by manipulating user input 16 (e.g.,by scrolling through values using a clickwheel similar to thatincorporated in the iPod™). Electronic device 10 then can displayadjustments to the selected user-programmable parameter in thecorresponding icon, as shown in FIG. 3B.

FIGS. 4A-4B illustrate a process for use by electronic device 10 ofFIGS. 3A-3B in accordance with one embodiment of the present invention.In step 40, controller 18 of electronic device 10 can accept signalsfrom user input component 16 to load a desired media file for playback.Once the media file is loaded, controller 18 can check to see whetherthe controller has played the last module of the media file in step 42.Since the controller has just loaded the user-selected media file,controller 18 can then progress onto step 44, in which it can load thefirst module in the media file.

In step 46, controller 18 can begin playing the first module of themedia file. This can include outputting audio and/or visual informationassociated with that module, displaying icon(s) 38 on display 14corresponding to media file-independent parameters, and logginginformation collected by sensors S. Visual information associated with amodule can include icons 34-36 that identify user-programmableparameters that a user can adjust during playback of that module, theamount of time elapsed, visual cues for the proper way to perform theactivity associated with the current module playing, visual cues of theactivity associated with the next module to be played from the mediafile, etc.

In step 48, controller 18 can check whether the end of the module hasbeen reached. If not, in step 50, controller 18 can wait to acceptsignals from user input component 16 that indicate the user wishes toadjust either a user-programmable parameter associated with the mediafile or a media file-independent parameter. Once the controller receivesone or more signals from user input component 16, controller 18 canpermit the user to adjust a user-programmable parameter or one of themedia file-independent parameters in step 52. Thereafter, controller 18can reiterate steps 46-52 to continue playing the first module of theloaded media file in accordance with the adjustment made to auser-programmable parameter in step 52.

Once controller 18 detects that it has reached the end of the firstmedia module in step 48, controller 18 can save any adjustments made touser-programmable parameters associated with the first media module instep 54. Alternatively, the controller can save adjustments to theuser-programmable parameters immediately after the adjustments are made.

Thereafter, controller 18 can automatically load and begin playback of asecond media module of the loaded media file. Because the second modulecan request that the user perform an activity different than that of thefirst module, the controller may output different audio and/or visualinformation than that output for the first module and/or log differentinformation collected by sensors S. Controller 18 can continuouslyreiterate steps 42-54 until the controller detects in step 42 that ithas just played the last module of the loaded media file. In step 56,controller 18 can conclude playback of the media file loaded in step 40.

Once the user has completed the scheduled activities, the user canupload the adjustments made to the user-programmable parameters of themedia file into local server 24 and/or central server 26 along withother data that electronic device 10 collected about the user'sperformance. Local server 24 and/or central server 26 then can analyzethe uploaded data to adapt the user's goals or otherwise track a user'sprogress.

FIG. 4B illustrates a process for use by electronic device 10 in step 52of FIG. 4A in accordance with one embodiment of the present invention.In response to receipt of signals from user input component 16 in step50, controller 18 can send signals to display 14 to visually distinguisha selected icon 34-38 in step 60. In step 62, controller 18 can acceptsignals from user input component 16 that indicates the user isrequesting to adjust the user-programmable parameter or mediafile-independent parameter corresponding to the selected icon. In step64, controller 18 can adjust the selected user-programmable or mediafile-independent parameter.

Adjustments in global or module-specific user-programmable parametersduring step 64 may require that controller 18 adjust the playback of theremainder of the media file. In step 66, controller 18 can makeadjustments in other user-programmable and non-user-programmableparameters of the loaded media file in response to adjustments made instep 64. For example, if the user adjusts the number of repetitions from15 to 25 as shown in FIGS. 3A-3B, controller 18 may need to allocate agreater amount of time for the user to perform and for the controller toplay back the entire media file. Thus, controller 18 may need to make acorresponding adjustment to a global user-programmable parameter of theloaded media file, e.g., the total amount of time a user has allocatedto perform all the activities of media file 30. Alternatively, ratherthan changing a global parameter of the media file, controller 18 caninstead adjust a user-programmable parameter of a media module that isscheduled to be played after the current module. For example, thecontroller can instead shorten the time allocated for a user to performanother fitness module, e.g., a jogging module.

While the media file described above can store both audio and visualdata, media files of the present invention also may be configured tostore only audio data or only visual data. Furthermore, an electronicdevice of the present invention can permit a user to adjustuser-programmable parameters associated with any type of file, not justa media file.

FIGS. 5A-5D illustrate an electronic device of the present inventionthat can automatically re-orient image I shown on its display based onthe orientation of the device. For example, assume that electronicdevice 10 and image I are disposed in a reference orientation in FIG.5A. When electronic device 10 is rotated from its reference orientation,controller 18 can detect the rotation based on signals from orientationtransducer 22. Responsive thereto, controller 18 can rotate image I ondisplay 14 so that it remains in the reference orientation (e.g.,oriented upright in the positive Y direction). For example, whenelectronic device 10 is rotated by 90 degrees so that it is positionedparallel to the X axis (the orientation shown in FIG. 5B or 5C),controller 18 can maintain image I on display 14 in the referenceorientation. Similarly, when electronic device 10 is rotated by anadditional 90 degrees as shown in FIG. 5D, controller 18 also canmaintain image I on display 14 in the reference orientation.

Image I can include text images, still images, and/or video images. Forexample, image I can include icons 34-38 as discussed above with respectto FIGS. 1-4.

While FIGS. 5A-5D illustrate image I oriented in either a portrait orlandscape orientation based on the orientation of electronic device 10,controller 18 also can be configured to orient image I in intermediateorientations.

FIGS. 5E-5I illustrate an electronic device of the present inventionthat can re-orient image I in one of a plurality of orientations rangingfrom the portrait orientation of FIG. 5E to the landscape orientation ofFIG. 5I, inclusive. Thus, as shown in FIGS. 5F-5H, the orientation ofimage I can be rotated by less than 90 degrees with respect to eitherthe orientation of FIG. 5E or 5I. In one embodiment of the presentinvention, each of the orientations shown in FIGS. 5E-5I can be adiscrete orientation in which image I can be disposed. Alternatively,the orientations shown in FIGS. 5E-5I can represent a non-discrete setof orientations in which image I can be disposed. In the latter case,electronic device 10 can be configured to re-orient image I so thatimage I continuously tracks the orientation of electronic device 10.Thus, each successive re-orientation of image I can merge smoothly withthe next so that changes in the orientation of image I are notdisjointed.

Although FIGS. 5A-I illustrate different orientations of electronicdevice 10 in two dimensions, electronic device 10 also can be orientedin three-dimensions. Accordingly, controller 18 can be configured tore-orient image I based on the orientation of electronic device 10 inthree-dimensions. For example, controller 18 can re-orient image I basedon the orientation of device 10 in the X-, Y-, and Z-axes. Whenelectronic device 10 is tilted out of the X-Y plane, controller 18 candetect the rotation based on signals from orientation transducer 22.Responsive thereto, controller 18 can re-orient image I so that itremains in a manufacturer or user-defined reference orientation.

Orientation transducers incorporated in the electronic devices of thepresent invention can include a single multi-dimensional motion sensoror an assembly of sensors that can detect motion of the electronicdevice, including position, orientation, and/or movement. For example,an orientation transducer can include one or more multi-dimensionalaccelerometers, GPS systems, gyroscopes, magnetic sensors, mercuryswitches, or any combination thereof. The orientation transducers alsocan include a receiver that can triangulate the position, orientation,and/or movement of the electronic device based on signals received frommultiple transmitters disposed near the receiver.

Advantageously, an electronic device that can dynamically adjust theorientation of image I in the manner described may be useful for a userwho may position the electronic device in a non-standard orientation.For example, an athlete may have an iPod™ strapped to his forearm. Whenthe athlete has his arm extended in front of him (e.g., when he isstretching before a jog), he may wish to view image I on a display ofthe iPod™ in the orientation shown in FIG. 5A. However, when theathlete's forearm is positioned close to his chest (for example, whenthe athlete wants to check the elapsed time or the song that iscurrently playing on his iPod™), it may be more convenient for theathlete to view image I in the orientation of FIG. 5B or 5D. Electronicdevice 10 may re-orient image I on its display as the athlete moves hisforearm closer to his chest.

FIGS. 6A-6B illustrate one embodiment of an electronic device that canautomatically re-configure a hardware user input component based on theorientation of the device. Electronic device 70 can include housing 72,display 74, hardware user input component 76, controller 78, memory 80,and orientation transducer 82. Hardware user input component 76 caninclude, e.g., multiple buttons associated with functions A-E.

When electronic device 70 is oriented in a reference orientation (e.g.,the positive Y direction shown in FIG. 6A), buttons associated withfunctions A-E also can be configured in a reference orientation (e.g.,with the button associated with function A disposed closest to display74). When electronic device 70 rotates from its reference orientation(e.g., into the orientation shown in FIG. 6B), controller 78 can detectthe rotation based on signals from orientation transducer 82. Responsivethereto, controller 78 can re-configure user input component 76 so thatthe user does not perceive a change in the configuration of the userinput component despite re-orientation of electronic device 70. Forexample, controller 78 can re-configure user input component 76 byre-assigning functions A-D so that function A always is assigned to thebutton disposed in the positive Y direction relative to the buttonassigned with function E, function B always is assigned to the buttondisposed in the negative X direction relative to the button assignedwith function E, function C always is assigned to the button disposed inthe negative Y direction relative to the button assigned with functionE, and function D always is assigned to the button disposed in thepositive X direction relative to the button assigned with function E.

Controller 78 can re-configure the buttons of user input component 76when electronic device 70 is re-oriented by, e.g., using one or morehardware switches or multiplexers. Alternatively, controller 78 canincorporate software that distributes signals received from the buttonsof user input component 76 to the appropriate function based on signalsfrom orientation transducer 82.

FIGS. 6C-6D illustrate electronic device 70 with an alternative userinput component that can be re-configured with re-orientation of thedevice. User input component 77 can be similar to the clickwheelincorporated in some models of iPods™. User input component 77 canincorporate touchpad TP and a plurality of buttons assigned withfunctions A-E. In one embodiment of the present invention, user inputcomponent 77 can be manually re-configured by a user when the userchanges the orientation of device 70. For example, user input component77 can be configured to be manually rotated clockwise orcounterclockwise. Thus, when a user re-orients electronic device 70 fromthe orientation of FIG. 6C to that of FIG. 6D, the user also can rotateuser input component 77 by 90 degrees to dispose the user inputcomponent in a more ergonomic configuration.

Electronic device 70 also can provide tactile feedback to the userduring manual re-configuration. For example, there can be mechanicalstops that prevent the user from rotating user input component 77 pastcertain angles. Also, user input component 77 can incorporate mechanicalprotuberances that are configured to engage depressions (or vice versa).When the user manually re-configures user input component 77, electronicdevice 70 can provide tactile feedback to the user when theprotuberances engage the depressions.

FIGS. 7A-7E illustrate an electronic device that can automaticallyre-configure user input components based on the orientation of thedevice. Electronic device 90 can include housing 92, display 94, andcontroller 98. Controller 98 can overlay icons 104 onto image I shown ondisplay 94 or incorporate icons 104 into image I. Icons 104 can bedisposed on display 94 in locations on or proximate to software orhardware user input components. The icons can have shapes, text orimages that indicate the functions of the input components designated bythe icons. For example, if display 94 is a touchscreen display, icons104 can indicate the locations of software input components, e.g.,software buttons assigned with functions A-F (see FIG. 7A-7C). A userthen may actuate any of the software buttons by contacting or otherwiseinteracting with display 94 at the locations at which icons 104 aredisposed. In addition to buttons, software user input components alsocan include linear or circular scrolls, sliders, dials, any other userinterfaces that can be emulated on display 94, or any combinationthereof. Touchscreen displays can include any touch or proximitysensitive display known in the art or otherwise that can simultaneously(1) display image I and icons 104, and (2) detect when a user wants toactuate a software user input component.

As illustrated in FIGS. 7D-7E, icons 104 also can be disposed proximateto hardware input components 105. Hardware input components 105 caninclude hardware buttons assigned with functions G-J, linear or circularscroll, slider, dial, one of the user input components described in theincorporated King document, any other type of hardware that can be usedfor user input, or any combination thereof.

As shown in FIGS. 7A and 7D, controller 98 can display image I and icons104 on display 94 in a reference orientation. When electronic device 90changes orientation, e.g., rotates counter-clockwise by 90 degrees asshown in FIGS. 7B, 7C, and 7E, controller 98 can detect the rotationbased on signals from orientation transducer 102. Responsive thereto,controller 98 can re-orient image I and re-configure the user inputcomponents designated by icons 104.

For example, as illustrated in FIG. 7B, controller 98 can re-positionthe software input components and icons 104 so that the composite imageformed by image I and icons 104 stays the same with there-configuration. Alternatively, as illustrated in FIG. 7C, controller98 can re-position the software input components and icons 104 so thatthe composite image formed by image I and icons 104 change as a resultof the re-configuration. In the embodiment of FIG. 7E, controller 98 canre-assign functions to one or more of components 105 and re-positionicons 104. Again, functions G-J can be re-assigned so that the compositeimage formed by image I and icons 104 change as a result of there-configuration. An electronic device of the present invention maychange the composite image formed by image I and icons 104, for example,to better distribute icons 104 within a display (as shown in FIG. 7C)and/or when all active user input components are consolidated along asingle side of the display that is more accessible to a user (as shownin FIG. 7E).

Electronic device 90 also can include hardware user input component 96,memory 100, and orientation transducer 102. Memory 100 can store, forexample, media files with which image I is associated, data from whichcontroller 98 can generate icons 104, and program code. The program codecan include, for example, instructions for displaying, re-orienting, andre-configuring image I, icons 104, software input components, andhardware input components 105. Hardware user input component 96 can be,for example, a single or multi-functional button. Multi-functionsbuttons can signal controller 98 to perform one function when a userdepresses the button for a predetermined amount of time and signalcontroller 98 to perform a second function when a user depresses thebutton for a shorter amount of time.

FIG. 8 illustrates one embodiment of a process for use by an electronicdevice of the present invention to re-orient an image on a display andre-configure one or more user input components of the device based onthe orientation of the electronic device. In step 112, a controller canaccept signals from an orientation transducer disposed within theelectronic device. In step 114, the controller can analyze the signalsfrom the orientation transducer to determine the orientation of theelectronic device. In step 116, the controller can determine thedifference between the orientation of the electronic device and areference orientation.

The controller may permit a manufacturer or a user to set the referenceorientation. For example, a user may set the reference orientation ofthe electronic component in the positive X direction, rather than, e.g.,the positive Y direction shown in FIG. 5A. Thereafter, the controllercan maintain images displayed by the device oriented in the positive Xdirection regardless of the orientation in which the electronic deviceis disposed.

In step 118, the controller can generate signals to re-orient an imagein the reference orientation. Depending on the determination made instep 116, this can include rotating the image into the referenceorientation and performing any other operations necessary to properlydisplay the image in the new orientation, e.g., scaling.

To rotate the image, the controller can use transformation matrices orselect from versions of the image stored in memory that already aredisposed in predetermined orientations. For example, each time thecontroller determines that the reference orientation is different thanthe real-time orientation of the electronic device, the controller candetermine a transformation matrix based on the reference orientation andthe real-time orientation of the electronic device. The transformationmatrix also can incorporate factors needed to properly display the imagein the new orientation (e.g., scaling factors). The controller then canuse the transformation matrix to re-orient the image. Advantageously,this technique may be useful for re-orienting images that are constantlychanging, e.g., video images.

The electronic device also can store multiple versions of each imagedisposed in multiple orientations. The controller then can select anddisplay the version of the image having the appropriate orientationbased on the determination made in step 116. This may be useful forre-orienting still images that are repeatedly displayed in certainpredetermined orientations.

Alternatively, rather than storing multiple versions of each image, theelectronic device can store predetermined transformation matrices thatcan re-orient any image to be displayed by the electronic device. Again,the controller can incorporate, e.g., scaling factors into the storedtransformation matrices. The controller then can select the appropriatetransformation matrix based on the determination made in step 116 andapply the transformation matrix to re-orient the image. Again, thistechnique may be useful for re-orienting images that are constantlychanging.

The controller also can use other techniques known in the art orotherwise to re-orient an image shown on a display of the electronicdevice.

In step 120, the controller can generate signals to re-configure one ormore user input components of the electronic device. This can includere-assigning functions to one or more user input components,re-positioning one or more user input components, and/or re-positioningone or more icons that designate user input component(s).

In accordance with another aspect of the present invention, a controllercan permit the user to reversibly deactivate certain orientations inwhich the controller is capable of displaying an image. For example, thecontroller can permit a user to limit an image to be displayed only inthe following two orientations: the orientation of FIG. 5A or theorientation of FIG. 5B. The controller also may permit the user toreversibly deactivate the automatic re-orientation feature of theelectronic device. Instead, the controller can require that the usertoggle images on the display among different orientations by manuallysignaling the controller using a user input component.

Similarly, the controller can permit the user to reversibly deactivatecertain configurations in which the controller is capable ofre-configuring user input components. The controller also can permit theuser to reversibly deactivate the automatic re-configuration feature ofthe electronic device. Again, the controller can instead require thatthe user toggle between configurations of the user input component bymanually signaling the controller.

Although particular embodiments of the present invention have beendescribed above in detail, it will be understood that this descriptionis merely for purposes of illustration. Alternative embodiments of thosedescribed hereinabove also are within the scope of the presentinvention.

Electronic devices of the present invention can combine featuresdescribed above with respect to FIGS. 1-8. For example, an electronicdevice of the present invention can permit a user to changeuser-programmable parameters of a media file, automatically re-orientimages based on the orientation of the electronic device, andautomatically re-configure user input components based on theorientation of the electronic device.

Electronic devices of the present invention also can include othercomponents that are not illustrated in FIGS. 1-8 for the sake ofsimplicity, e.g., a receiver to receive data from sensors S, additionalinput components, and/or additional output components.

Electronic devices of the present invention can be any electronic devicethat executes files having user-programmable parameters and/or anyelectronic device that a user may orient in a non-standard orientation.For example, the electronic device can be any portable, mobile,hand-held, or miniature consumer electronic device. Illustrativeelectronic devices can include, but are not limited to, music players,video players, still image players, game players, other media players,music recorders, video recorders, cameras, other media recorders,radios, medical equipment, calculators, cellular phones, other wirelesscommunication devices, personal digital assistances, programmable remotecontrols, pagers, laptop computers, printers, or any combinationthereof. Miniature electronic devices may have a form factor that issmaller than that of hand-held devices. Illustrative miniatureelectronic devices can include, but are not limited to, watches, rings,necklaces, belts, accessories for belts, headsets, accessories forshoes, virtual reality devices, other wearable electronics, accessoriesfor sporting equipment, accessories for fitness equipment, key chains,or any combination thereof.

The above described embodiments of the present invention are presentedfor purposes of illustration and not of limitation, and the presentinvention is limited only by the claims which follow.

What is claimed is:
 1. A system comprising: an output component; aninput component; a sensor configured for automatically generating sensordata; memory; and a controller that: executes a file from the memory forproviding file information to a user about the file via the outputcomponent; receives the sensor data from the sensor during the executionof the file; and based on the received sensor data, adjusts aprogrammable parameter of the file during the execution of the file,wherein: the parameter adjustment adjusts the file; the file adjustmentadjusts the execution of the remainder of the file after the parameteradjustment; and the execution adjustment affects a portion of the fileinformation provided to the user during the execution of the remainderof the file after the parameter adjustment.
 2. The system of claim 1,wherein the input component, the sensor, the memory, and the controllerare provided by a portable electronic device.
 3. The system of claim 1,wherein the parameter adjustment is stored in the memory.
 4. The systemof claim 1, wherein: the controller executes the file from the memoryfor providing the file information to the user about a plurality ofactivities of the file via the output component; the controller executesthe file by: executing a first module of the file for providing to theuser first information of the file information about a first activity ofthe plurality of activities; and after executing the first module,executing a second module of the file for providing to the user secondinformation of the file information about a second activity of theplurality of activities; the controller receives the sensor data duringthe execution of the first module; and the parameter adjustment affectsthe execution of the second module.
 5. The system of claim 4, whereinthe parameter comprises a global parameter associated with a total timeallocated to perform every activity of the plurality of activities ofthe file.
 6. The system of claim 4, wherein the parameter is associatedwith a total time allocated to perform both the first activity and thesecond activity.
 7. A system comprising: an output component; an inputcomponent; a sensor configured for automatically generating sensor data;memory; and a controller that: executes a file from the memory forproviding file information to a user via the output component; receivesthe sensor data from the sensor during the execution of the file; andbased on the received sensor data, adjusts a programmable parameter ofthe file during the execution of the file, wherein: the parameteradjustment adjusts the file; and the file adjustment affects a portionof the file information provided to the user during the execution of theremainder of the file after the file adjustment.
 8. The system of claim7, wherein: the controller executes the file by: executing a firstmodule of the file that provides first information of the fileinformation to the user via the output component; and after executingthe first module, executing a second module of the file that providessecond information of the file information to the user via the outputcomponent; the controller receives the sensor data during the executionof the first module; the parameter comprises a first parameter that isassociated with the first module; and based on the adjustment to thefirst parameter, the controller adjusts a second parameter of the fileduring execution of the file.
 9. The system of claim 8, wherein thesecond parameter comprises a global parameter of the file.
 10. Thesystem of claim 8, wherein the second parameter comprises amodule-specific parameter.
 11. The system of claim 10, wherein thesecond parameter is associated with the first module.
 12. The system ofclaim 10, wherein the second parameter is associated with the secondmodule.
 13. A method comprising: executing a file for providing fileinformation to a user; automatically generating sensor data during theexecuting of the file; receiving the sensor data during the executing;and based on the received sensor data, adjusting a programmableparameter of the file during the executing, wherein: the adjusting theprogrammable parameter comprises adjusting the file; and the adjustingthe file affects a portion of the file information provided to the userduring the executing of the remainder of the file after the adjustingthe file.
 14. The method of claim 13, wherein: the executing comprises:first executing a first module of the file for providing firstinformation of the file information to the user; and after the firstexecuting, second executing a second module of the file for providingsecond information of the file information to the user; the receiving ofthe sensor data occurs during the first executing; and the adjusting thefile affects the second executing.
 15. The method of claim 14, wherein:the first information is indicative of a first activity; the secondinformation is indicative of a second activity; and the programmableparameter is associated with a total time allocated for the user toperform both the first activity and the second activity.
 16. The methodof claim 14, wherein the programmable parameter comprises a firstparameter that is associated with the first module.
 17. The method ofclaim 14, wherein: the programmable parameter comprises a firstparameter that is associated with the first module; and based on theadjusting the first parameter, the method further comprises adjusting asecond parameter of the file during the executing.
 18. The method ofclaim 17, wherein the second parameter comprises a global parameter ofthe file.
 19. The method of claim 17, wherein the second parametercomprises a module-specific parameter.
 20. The method of claim 19,wherein the second parameter is associated with one of the first moduleor the second module.